from openpyxl import load_workbook
from openpyxl import Workbook
from docx import Document
import os

print('请输入文档完整路径（例子：E:\BaiduNetdiskDownload\你好.xlsx）：', end='')
excel_path = input()
# 加载工作簿
wb = load_workbook(excel_path)

print('在文档的第几个工作表：', end='')
sheet = int(input())
# 选择工作表（假设是第一个）
ws = wb.worksheets[sheet-1]

print(f'在第{sheet}个工作表的第几列：', end='')
lie_num = int(input())

print(f'在第{sheet}个工作表的第几行开始：', end='')
hang_num = int(input())


print('打算在哪个目录下批量生成（例子：D:\dsest）：', end='')
parent_directory = input()

print('打算在这个目录下批量生成什么（1 目录  2 txt  3 docx  4 xlsx ）：', end='')
creat_type = input()

i = 0
# 遍历第一列的数据
for row in ws.iter_rows(min_row=hang_num):
    i += 1
    # 获取当前行的单元格的值
    value = row[lie_num-1].value
    order_value = f'{i}-{value}'

    if str(value) == 'None':
        pass
    else:
        if creat_type == '1':
            directory_name = str(order_value)  # 获取当前行的值并转换为字符串
            full_path = os.path.join(parent_directory, directory_name)
            os.makedirs(full_path, exist_ok=True)  # 创建目录，如果已经存在，则不抛出异常

            directory_name = f'{str(order_value)}.xlsx'  # 获取当前行的值并转换为字符串
            xls = Workbook()
            xls.save(full_path)

        elif creat_type == '2':
            directory_name = f'{str(order_value)}.txt'  # 获取当前行的值并转换为字符串
            full_path = os.path.join(parent_directory, directory_name)
            with open(full_path, 'a'):
                os.utime(full_path, None)

        elif creat_type == '3':
            directory_name = f'{str(order_value)}.docx'  # 获取当前行的值并转换为字符串
            full_path = os.path.join(parent_directory, directory_name)
            # 新建一个 Word 文档
            doc = Document()
            doc.save(full_path)

        elif creat_type == '4':
            directory_name = f'{str(order_value)}.xlsx'  # 获取当前行的值并转换为字符串
            full_path = os.path.join(parent_directory, directory_name)
            xls = Workbook()
            xls.save(full_path)

